<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: Bootloader.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('apps_2_kinetis_flash_tool_2_kinetis_flash_tool_2_bootloader_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">* Copyright (c) 2013-15, Freescale Semiconductor, Inc.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">* All rights reserved.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">* Redistribution and use in source and binary forms, with or without modification,</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">* are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">* o Redistributions of source code must retain the above copyright notice, this list</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">*   of conditions and the following disclaimer.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">* o Redistributions in binary form must reproduce the above copyright notice, this</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">*   list of conditions and the following disclaimer in the documentation and/or</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">*   other materials provided with the distribution.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">* o Neither the name of Freescale Semiconductor, Inc. nor the names of its</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">*   contributors may be used to endorse or promote products derived from this</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*   software without specific prior written permission.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;afxwin.h&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;array&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;../../common/blfwkdll/blfwkdll.h&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_bootloader.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_bootloader.html">Bootloader</a> : <span class="keyword">public</span> CWinThread</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_bootloader.html">   48</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="class_bootloader.html#struct_bootloader_1_1_target_information">TargetInformation</a></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="class_bootloader.html#a46bd39cca6931b9edea0433febb13e8d">   50</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a46bd39cca6931b9edea0433febb13e8d">targetVersion</a>;    </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="class_bootloader.html#a24f6db9423221fc5e419c97d4fb08cd8">   51</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a24f6db9423221fc5e419c97d4fb08cd8">procotolVersion</a>;  </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_bootloader.html#a5e85f010cbc797b92c613d73ce769648">   52</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a5e85f010cbc797b92c613d73ce769648">securityState</a>;    </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_bootloader.html#aeb890355cd8c0f5cea05b76af207619b">   53</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#aeb890355cd8c0f5cea05b76af207619b">flashSize</a>;        </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_bootloader.html#a4f445326e13d7cf8df29935ad5e5c48f">   54</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a4f445326e13d7cf8df29935ad5e5c48f">flashSectorSize</a>;  </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_bootloader.html#a29f25c3ab5c62efdc180be14d33cef5c">   55</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a29f25c3ab5c62efdc180be14d33cef5c">ramSize</a>;          </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_bootloader.html#aeb235cb088160afed5b8202210a43a54">   56</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#aeb235cb088160afed5b8202210a43a54">rsvRgnFlashStart</a>; </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_bootloader.html#ada65d157f0964c4333da07343159d895">   57</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#ada65d157f0964c4333da07343159d895">rsvRgnFlashEnd</a>;   </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_bootloader.html#a3449858ac8c33f2e25429a29c13b0cc6">   58</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a3449858ac8c33f2e25429a29c13b0cc6">rsvRgnRamStart</a>;   </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_bootloader.html#a8feaf26140bcb29075bfd287796ac6d8">   59</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a8feaf26140bcb29075bfd287796ac6d8">rsvRgnRamEnd</a>;     </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_bootloader.html#a26f5dde51546d578757b7cc578b5829e">   60</a></span>&#160;        UINT32 <a class="code" href="class_bootloader.html#a26f5dde51546d578757b7cc578b5829e">supportedCmd</a>;     </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    };</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_bootloader.html">   66</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="class_bootloader.html#struct_bootloader_1_1_flash_firmware_option">FlashFirmwareOption</a></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    {</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_bootloader.html#a51bf67a9c43de86a7b3b27d0edd522bf">   68</a></span>&#160;        BOOL <a class="code" href="class_bootloader.html#a51bf67a9c43de86a7b3b27d0edd522bf">autoConnect</a>;          </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="class_bootloader.html#a8037e3b401b7cfb870dffbf990022450">   69</a></span>&#160;        BOOL <a class="code" href="class_bootloader.html#a8037e3b401b7cfb870dffbf990022450">doErasetoUnlock</a>;      </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_bootloader.html#a43a1807310a07b446d9f730f5572afab">   70</a></span>&#160;        BOOL <a class="code" href="class_bootloader.html#a43a1807310a07b446d9f730f5572afab">useKeytoUnlock</a>;       </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="class_bootloader.html#a943e147e9f6060bbd2538afd805c599a">   71</a></span>&#160;        std::string <a class="code" href="class_bootloader.html#a943e147e9f6060bbd2538afd805c599a">backdoorkey</a>;   </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="class_bootloader.html#a4962c81431e171b5b9a06a0cd91c5965">   72</a></span>&#160;        std::string <a class="code" href="class_bootloader.html#a4962c81431e171b5b9a06a0cd91c5965">imageFilePath</a>; </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_bootloader.html#a90b80490be669a57e2856f6b6abac71c">   73</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#a90b80490be669a57e2856f6b6abac71c">baseAddress</a>;      </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    };</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_bootloader.html">   79</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="class_bootloader.html#struct_bootloader_1_1_erase_option">EraseOption</a></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    {</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bd">   81</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bd">ERASE_OPERATION</a></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        {</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bdab603571ad734a48b9a998b442a79af48">   83</a></span>&#160;            erase_region = 0,          </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bdaaae77abe9884dcce79104c41dd10a88c">   84</a></span>&#160;            erase_all = 1,             </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bda7bbbd10fd6509b54a0bb185f54d4809c">   85</a></span>&#160;            erase_all_and_unsecure = 2 </div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        };</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="class_bootloader.html#a75de26982d72af4dd0eb2d6bde28d22f">   88</a></span>&#160;        <a class="code" href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bd">ERASE_OPERATION</a> <a class="code" href="class_bootloader.html#a75de26982d72af4dd0eb2d6bde28d22f">option</a>; </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="class_bootloader.html#ac89e86493a1ede1a4a7982b3cca5dd42">   89</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#ac89e86493a1ede1a4a7982b3cca5dd42">memoryID</a>;      </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="class_bootloader.html#aff2c0ac0aafa00b32df1bd72b6928078">   90</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#aff2c0ac0aafa00b32df1bd72b6928078">startAddress</a>;  </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="class_bootloader.html#a03d9c27981fcffbf965bd4b0f25f52e2">   91</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#a03d9c27981fcffbf965bd4b0f25f52e2">length</a>;        </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    };</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_bootloader.html">   97</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="class_bootloader.html#struct_bootloader_1_1_program_once_option">ProgramOnceOption</a></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="class_bootloader.html#a32c8470a7d53f90032e0947fc5832a7f">   99</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#a32c8470a7d53f90032e0947fc5832a7f">index</a>;     </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="class_bootloader.html#ad4439cf577d66d4ef577d4756d90089b">  100</a></span>&#160;        uint32_t <a class="code" href="class_bootloader.html#ad4439cf577d66d4ef577d4756d90089b">byteCount</a>; </div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_bootloader.html#a58ffd3fe5539fc0ec5b53c8bbb1cdb17">  101</a></span>&#160;        std::string <a class="code" href="class_bootloader.html#a58ffd3fe5539fc0ec5b53c8bbb1cdb17">data</a>;   </div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    };</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="class_bootloader.html#a4d576bc36952fcec62139e4b14446f31">  106</a></span>&#160;    <a class="code" href="class_bootloader.html#a4d576bc36952fcec62139e4b14446f31">Bootloader</a>() { this-&gt;Open(); };</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="class_bootloader.html#a38669b400ae2fc9f4eafb4499acc917b">  108</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_bootloader.html#a38669b400ae2fc9f4eafb4499acc917b">~Bootloader</a>() { this-&gt;Close(); };</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="class_bootloader.html#a50ffe679128e14abdb12a0a6ae900414">  110</a></span>&#160;    <span class="keyword">virtual</span> BOOL <a class="code" href="class_bootloader.html#a50ffe679128e14abdb12a0a6ae900414">InitInstance</a>() { <span class="keywordflow">return</span> CWinThread::InitInstance(); };</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="class_bootloader.html#a57770d6bbbd018c571fbdba193b3984e">  112</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_bootloader.html#a57770d6bbbd018c571fbdba193b3984e">ExitInstance</a>() { <span class="keywordflow">return</span> CWinThread::ExitInstance(); };</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="class_bootloader.html#add067f1d2ddb028a1f9507dc4b10e250">  116</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="class_bootloader.html#add067f1d2ddb028a1f9507dc4b10e250">KibbleStatusCode</a></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    {</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="class_bootloader.html#add067f1d2ddb028a1f9507dc4b10e250ab2f8dc21e4e8942369162d1b1ec530ba">  118</a></span>&#160;        KBL_Status_Success = 0x0,           </div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="class_bootloader.html#add067f1d2ddb028a1f9507dc4b10e250a072e7f2aede63c5dd48ad55bcaff25d2">  119</a></span>&#160;        KBL_Status_AbortDataPhase = 0x2712, </div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    };</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">bool</span> CanRun();</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    DWORD Open();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordtype">void</span> Close();</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> progressCallback(<span class="keywordtype">int</span> percentage, <span class="keywordtype">int</span> segmentIndex, <span class="keywordtype">int</span> segmentCount);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    DWORD WaitForEvents(DWORD time);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordtype">void</span> ResetEvents(DWORD events);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordtype">void</span> Ping();</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordtype">void</span> Reset();</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordtype">void</span> Connect(blfwkdll::Updater::PeripheralConfig *config);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">void</span> UpdateStatus();</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keywordtype">void</span> UpdateImage(blfwkdll::Updater::PeripheralConfig *config, <a class="code" href="class_bootloader.html#struct_bootloader_1_1_flash_firmware_option">FlashFirmwareOption</a> *option);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordtype">void</span> Erase(<a class="code" href="class_bootloader.html#struct_bootloader_1_1_erase_option">EraseOption</a> *option);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="keywordtype">void</span> ProgramOnce(<a class="code" href="class_bootloader.html#struct_bootloader_1_1_program_once_option">ProgramOnceOption</a> *option);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="class_bootloader.html#aca9c69e2bff2114569318daf482e55db">  188</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#aca9c69e2bff2114569318daf482e55db">m_pingEvent</a>;        </div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="class_bootloader.html#a81bf397af7a5668a7a92705ae0f78e56">  189</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#a81bf397af7a5668a7a92705ae0f78e56">m_statusEvent</a>;      </div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="class_bootloader.html#a8c681d634a50ff767c6930ac58af35f3">  190</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#a8c681d634a50ff767c6930ac58af35f3">m_resetEvent</a>;       </div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="class_bootloader.html#a5f4d159d8878c69fde40c68b59c9d01b">  191</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#a5f4d159d8878c69fde40c68b59c9d01b">m_connectEvent</a>;     </div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_bootloader.html#af87a527bf8b42fbb526f8a0b0d6659ee">  192</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#af87a527bf8b42fbb526f8a0b0d6659ee">m_updateEvent</a>;      </div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="class_bootloader.html#abc4b9381a2b0a834cfbc52f12f7ed9d8">  193</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#abc4b9381a2b0a834cfbc52f12f7ed9d8">m_eraseEvent</a>;       </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="class_bootloader.html#a9fe40f1f702d968b0787f38f6d0c346b">  194</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#a9fe40f1f702d968b0787f38f6d0c346b">m_programOnceEvent</a>; </div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="class_bootloader.html#ac30017b32122088a47be9878d222f46b">  195</a></span>&#160;    HANDLE <a class="code" href="class_bootloader.html#ac30017b32122088a47be9878d222f46b">m_exitEvent</a>;        </div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_bootloader.html#aeab57f444e845fff5c9499cd5a74d19e">  196</a></span>&#160;    CWinThread *<a class="code" href="class_bootloader.html#aeab57f444e845fff5c9499cd5a74d19e">m_pThread</a>;     </div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="class_bootloader.html#a78a767963a5f9466e40da32cd828fd2c">  198</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_bootloader.html#a78a767963a5f9466e40da32cd828fd2c">m_abort</a>;                                 </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_bootloader.html#aed066c866e6476c7cc95ae9e00b5d86c">  199</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_bootloader.html#aed066c866e6476c7cc95ae9e00b5d86c">m_isRunning</a>;                             </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="class_bootloader.html#a299608c3c0512aba8bc73c07bd9d0c85">  200</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_bootloader.html#a299608c3c0512aba8bc73c07bd9d0c85">m_isExiting</a>;                             </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="class_bootloader.html#a0fbc58cf1fefe7fc4ac3e947a52b4afa">  201</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_bootloader.html#a0fbc58cf1fefe7fc4ac3e947a52b4afa">m_isConneted</a>;                            </div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="class_bootloader.html#aafef0e47d402f958bcbe6838f48838ce">  202</a></span>&#160;    <a class="code" href="class_bootloader.html#struct_bootloader_1_1_target_information">TargetInformation</a> <a class="code" href="class_bootloader.html#aafef0e47d402f958bcbe6838f48838ce">m_targetInfo</a>;               </div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="class_bootloader.html#acd69ec17995c8ddb245854e5a1077521">  203</a></span>&#160;    <a class="code" href="class_bootloader.html#struct_bootloader_1_1_flash_firmware_option">FlashFirmwareOption</a> <a class="code" href="class_bootloader.html#acd69ec17995c8ddb245854e5a1077521">m_firmwareConfig</a>;         </div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="class_bootloader.html#ac991c28688922be7df303e6ed4b92907">  204</a></span>&#160;    <a class="code" href="class_bootloader.html#struct_bootloader_1_1_erase_option">EraseOption</a> <a class="code" href="class_bootloader.html#ac991c28688922be7df303e6ed4b92907">m_eraseOption</a>;                    </div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="class_bootloader.html#a5cda33a94e2a69b3299a5d9fa015f50e">  205</a></span>&#160;    <a class="code" href="class_bootloader.html#struct_bootloader_1_1_program_once_option">ProgramOnceOption</a> <a class="code" href="class_bootloader.html#a5cda33a94e2a69b3299a5d9fa015f50e">m_programOnceOption</a>;        </div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="class_bootloader.html#ace9b8276b901ec7f886ad9157802102c">  206</a></span>&#160;    blfwkdll::Updater::PeripheralConfig <a class="code" href="class_bootloader.html#ace9b8276b901ec7f886ad9157802102c">m_config</a>; </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="class_bootloader.html#afd1e8fbddcb4bf6b34e01561c463e3df">  207</a></span>&#160;    blfwkdll::Updater *<a class="code" href="class_bootloader.html#afd1e8fbddcb4bf6b34e01561c463e3df">m_updater</a>;                 </div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;};</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_bootloader.html">Bootloader</a> *g_pBootloader; </div><div class="ttc" id="class_bootloader_html_a03d9c27981fcffbf965bd4b0f25f52e2"><div class="ttname"><a href="class_bootloader.html#a03d9c27981fcffbf965bd4b0f25f52e2">Bootloader::EraseOption::length</a></div><div class="ttdeci">uint32_t length</div><div class="ttdoc">Length in bytes to erase. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:91</div></div>
<div class="ttc" id="class_bootloader_html_a58ffd3fe5539fc0ec5b53c8bbb1cdb17"><div class="ttname"><a href="class_bootloader.html#a58ffd3fe5539fc0ec5b53c8bbb1cdb17">Bootloader::ProgramOnceOption::data</a></div><div class="ttdeci">std::string data</div><div class="ttdoc">IFR data to write. 4 or 8 hex digits with on leading &quot;0x&quot;. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:101</div></div>
<div class="ttc" id="class_bootloader_html_ac89e86493a1ede1a4a7982b3cca5dd42"><div class="ttname"><a href="class_bootloader.html#ac89e86493a1ede1a4a7982b3cca5dd42">Bootloader::EraseOption::memoryID</a></div><div class="ttdeci">uint32_t memoryID</div><div class="ttdoc">Memory ID used for flash-erase-all command. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:89</div></div>
<div class="ttc" id="class_bootloader_html_aff2c0ac0aafa00b32df1bd72b6928078"><div class="ttname"><a href="class_bootloader.html#aff2c0ac0aafa00b32df1bd72b6928078">Bootloader::EraseOption::startAddress</a></div><div class="ttdeci">uint32_t startAddress</div><div class="ttdoc">Start address to erase. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:90</div></div>
<div class="ttc" id="class_bootloader_html_a90b80490be669a57e2856f6b6abac71c"><div class="ttname"><a href="class_bootloader.html#a90b80490be669a57e2856f6b6abac71c">Bootloader::FlashFirmwareOption::baseAddress</a></div><div class="ttdeci">uint32_t baseAddress</div><div class="ttdoc">Base address where image file is written to.(Only used for binary file.) </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:73</div></div>
<div class="ttc" id="class_bootloader_html_a29f25c3ab5c62efdc180be14d33cef5c"><div class="ttname"><a href="class_bootloader.html#a29f25c3ab5c62efdc180be14d33cef5c">Bootloader::TargetInformation::ramSize</a></div><div class="ttdeci">UINT32 ramSize</div><div class="ttdoc">RAM memory size. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:55</div></div>
<div class="ttc" id="class_bootloader_html_struct_bootloader_1_1_flash_firmware_option"><div class="ttname"><a href="class_bootloader.html#struct_bootloader_1_1_flash_firmware_option">Bootloader::FlashFirmwareOption</a></div><div class="ttdoc">FlashFirmwareOption struct contains information for an update progress. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:66</div></div>
<div class="ttc" id="class_bootloader_html_ada65d157f0964c4333da07343159d895"><div class="ttname"><a href="class_bootloader.html#ada65d157f0964c4333da07343159d895">Bootloader::TargetInformation::rsvRgnFlashEnd</a></div><div class="ttdeci">UINT32 rsvRgnFlashEnd</div><div class="ttdoc">End address of flash reserved region. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:57</div></div>
<div class="ttc" id="class_bootloader_html_a4962c81431e171b5b9a06a0cd91c5965"><div class="ttname"><a href="class_bootloader.html#a4962c81431e171b5b9a06a0cd91c5965">Bootloader::FlashFirmwareOption::imageFilePath</a></div><div class="ttdeci">std::string imageFilePath</div><div class="ttdoc">Absolute path for image file. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:72</div></div>
<div class="ttc" id="class_bootloader_html_a0fbc58cf1fefe7fc4ac3e947a52b4afa"><div class="ttname"><a href="class_bootloader.html#a0fbc58cf1fefe7fc4ac3e947a52b4afa">Bootloader::m_isConneted</a></div><div class="ttdeci">bool m_isConneted</div><div class="ttdoc">Flag is set when connect to a target device. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:201</div></div>
<div class="ttc" id="class_bootloader_html_a4d576bc36952fcec62139e4b14446f31"><div class="ttname"><a href="class_bootloader.html#a4d576bc36952fcec62139e4b14446f31">Bootloader::Bootloader</a></div><div class="ttdeci">Bootloader()</div><div class="ttdoc">Generated standard constructor. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:106</div></div>
<div class="ttc" id="class_bootloader_html_a4f445326e13d7cf8df29935ad5e5c48f"><div class="ttname"><a href="class_bootloader.html#a4f445326e13d7cf8df29935ad5e5c48f">Bootloader::TargetInformation::flashSectorSize</a></div><div class="ttdeci">UINT32 flashSectorSize</div><div class="ttdoc">Flash memory sector size. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:54</div></div>
<div class="ttc" id="class_bootloader_html_a81bf397af7a5668a7a92705ae0f78e56"><div class="ttname"><a href="class_bootloader.html#a81bf397af7a5668a7a92705ae0f78e56">Bootloader::m_statusEvent</a></div><div class="ttdeci">HANDLE m_statusEvent</div><div class="ttdoc">Update status event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:189</div></div>
<div class="ttc" id="class_bootloader_html_ace9b8276b901ec7f886ad9157802102c"><div class="ttname"><a href="class_bootloader.html#ace9b8276b901ec7f886ad9157802102c">Bootloader::m_config</a></div><div class="ttdeci">blfwkdll::Updater::PeripheralConfig m_config</div><div class="ttdoc">Contains information for peripheral configuration. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:206</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
<div class="ttc" id="class_bootloader_html_a38669b400ae2fc9f4eafb4499acc917b"><div class="ttname"><a href="class_bootloader.html#a38669b400ae2fc9f4eafb4499acc917b">Bootloader::~Bootloader</a></div><div class="ttdeci">virtual ~Bootloader()</div><div class="ttdoc">Generated standard destructor. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:108</div></div>
<div class="ttc" id="class_bootloader_html_aeb235cb088160afed5b8202210a43a54"><div class="ttname"><a href="class_bootloader.html#aeb235cb088160afed5b8202210a43a54">Bootloader::TargetInformation::rsvRgnFlashStart</a></div><div class="ttdeci">UINT32 rsvRgnFlashStart</div><div class="ttdoc">Start address of flash reserved region. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:56</div></div>
<div class="ttc" id="class_bootloader_html_a46bd39cca6931b9edea0433febb13e8d"><div class="ttname"><a href="class_bootloader.html#a46bd39cca6931b9edea0433febb13e8d">Bootloader::TargetInformation::targetVersion</a></div><div class="ttdeci">UINT32 targetVersion</div><div class="ttdoc">Bootloader version. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:50</div></div>
<div class="ttc" id="class_bootloader_html_a3449858ac8c33f2e25429a29c13b0cc6"><div class="ttname"><a href="class_bootloader.html#a3449858ac8c33f2e25429a29c13b0cc6">Bootloader::TargetInformation::rsvRgnRamStart</a></div><div class="ttdeci">UINT32 rsvRgnRamStart</div><div class="ttdoc">Start address of RAM reserved region. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:58</div></div>
<div class="ttc" id="class_bootloader_html_a8feaf26140bcb29075bfd287796ac6d8"><div class="ttname"><a href="class_bootloader.html#a8feaf26140bcb29075bfd287796ac6d8">Bootloader::TargetInformation::rsvRgnRamEnd</a></div><div class="ttdeci">UINT32 rsvRgnRamEnd</div><div class="ttdoc">End address of RAM reserved region. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:59</div></div>
<div class="ttc" id="class_bootloader_html_ad4439cf577d66d4ef577d4756d90089b"><div class="ttname"><a href="class_bootloader.html#ad4439cf577d66d4ef577d4756d90089b">Bootloader::ProgramOnceOption::byteCount</a></div><div class="ttdeci">uint32_t byteCount</div><div class="ttdoc">IFR length( should be 4 or 8). </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:100</div></div>
<div class="ttc" id="class_bootloader_html_a5f4d159d8878c69fde40c68b59c9d01b"><div class="ttname"><a href="class_bootloader.html#a5f4d159d8878c69fde40c68b59c9d01b">Bootloader::m_connectEvent</a></div><div class="ttdeci">HANDLE m_connectEvent</div><div class="ttdoc">Connect event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:191</div></div>
<div class="ttc" id="class_bootloader_html_afc77e694fe430cfd1542ca42b65ec5bd"><div class="ttname"><a href="class_bootloader.html#afc77e694fe430cfd1542ca42b65ec5bd">Bootloader::EraseOption::ERASE_OPERATION</a></div><div class="ttdeci">ERASE_OPERATION</div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:81</div></div>
<div class="ttc" id="class_bootloader_html_a26f5dde51546d578757b7cc578b5829e"><div class="ttname"><a href="class_bootloader.html#a26f5dde51546d578757b7cc578b5829e">Bootloader::TargetInformation::supportedCmd</a></div><div class="ttdeci">UINT32 supportedCmd</div><div class="ttdoc">Current device supported command. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:60</div></div>
<div class="ttc" id="class_bootloader_html_abc4b9381a2b0a834cfbc52f12f7ed9d8"><div class="ttname"><a href="class_bootloader.html#abc4b9381a2b0a834cfbc52f12f7ed9d8">Bootloader::m_eraseEvent</a></div><div class="ttdeci">HANDLE m_eraseEvent</div><div class="ttdoc">Erase event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:193</div></div>
<div class="ttc" id="class_bootloader_html_a943e147e9f6060bbd2538afd805c599a"><div class="ttname"><a href="class_bootloader.html#a943e147e9f6060bbd2538afd805c599a">Bootloader::FlashFirmwareOption::backdoorkey</a></div><div class="ttdeci">std::string backdoorkey</div><div class="ttdoc">Backdoor key. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:71</div></div>
<div class="ttc" id="class_bootloader_html_ac30017b32122088a47be9878d222f46b"><div class="ttname"><a href="class_bootloader.html#ac30017b32122088a47be9878d222f46b">Bootloader::m_exitEvent</a></div><div class="ttdeci">HANDLE m_exitEvent</div><div class="ttdoc">Exit event to let child thread exit. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:195</div></div>
<div class="ttc" id="class_bootloader_html_aeab57f444e845fff5c9499cd5a74d19e"><div class="ttname"><a href="class_bootloader.html#aeab57f444e845fff5c9499cd5a74d19e">Bootloader::m_pThread</a></div><div class="ttdeci">CWinThread * m_pThread</div><div class="ttdoc">Pointer to child thread. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:196</div></div>
<div class="ttc" id="class_bootloader_html_aeb890355cd8c0f5cea05b76af207619b"><div class="ttname"><a href="class_bootloader.html#aeb890355cd8c0f5cea05b76af207619b">Bootloader::TargetInformation::flashSize</a></div><div class="ttdeci">UINT32 flashSize</div><div class="ttdoc">Flash memory size. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:53</div></div>
<div class="ttc" id="class_bootloader_html_add067f1d2ddb028a1f9507dc4b10e250"><div class="ttname"><a href="class_bootloader.html#add067f1d2ddb028a1f9507dc4b10e250">Bootloader::KibbleStatusCode</a></div><div class="ttdeci">KibbleStatusCode</div><div class="ttdoc">KibbleStatusCode struct contains two correct status code. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:116</div></div>
<div class="ttc" id="class_bootloader_html_a75de26982d72af4dd0eb2d6bde28d22f"><div class="ttname"><a href="class_bootloader.html#a75de26982d72af4dd0eb2d6bde28d22f">Bootloader::EraseOption::option</a></div><div class="ttdeci">ERASE_OPERATION option</div><div class="ttdoc">Erase operation.. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:88</div></div>
<div class="ttc" id="class_bootloader_html_a9fe40f1f702d968b0787f38f6d0c346b"><div class="ttname"><a href="class_bootloader.html#a9fe40f1f702d968b0787f38f6d0c346b">Bootloader::m_programOnceEvent</a></div><div class="ttdeci">HANDLE m_programOnceEvent</div><div class="ttdoc">Program IFR event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:194</div></div>
<div class="ttc" id="class_bootloader_html_struct_bootloader_1_1_program_once_option"><div class="ttname"><a href="class_bootloader.html#struct_bootloader_1_1_program_once_option">Bootloader::ProgramOnceOption</a></div><div class="ttdoc">ProgramOnceOption struct contains information for a program IFR progress. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:97</div></div>
<div class="ttc" id="class_bootloader_html_a57770d6bbbd018c571fbdba193b3984e"><div class="ttname"><a href="class_bootloader.html#a57770d6bbbd018c571fbdba193b3984e">Bootloader::ExitInstance</a></div><div class="ttdeci">virtual int ExitInstance()</div><div class="ttdoc">Overrides. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:112</div></div>
<div class="ttc" id="class_bootloader_html"><div class="ttname"><a href="class_bootloader.html">Bootloader</a></div><div class="ttdoc">Bootloader class. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:42</div></div>
<div class="ttc" id="class_bootloader_html_a51bf67a9c43de86a7b3b27d0edd522bf"><div class="ttname"><a href="class_bootloader.html#a51bf67a9c43de86a7b3b27d0edd522bf">Bootloader::FlashFirmwareOption::autoConnect</a></div><div class="ttdeci">BOOL autoConnect</div><div class="ttdoc">Auto connect device after an update, if set TRUE.(Currently, not used) </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:68</div></div>
<div class="ttc" id="class_bootloader_html_aca9c69e2bff2114569318daf482e55db"><div class="ttname"><a href="class_bootloader.html#aca9c69e2bff2114569318daf482e55db">Bootloader::m_pingEvent</a></div><div class="ttdeci">HANDLE m_pingEvent</div><div class="ttdoc">Ping event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:188</div></div>
<div class="ttc" id="class_bootloader_html_struct_bootloader_1_1_erase_option"><div class="ttname"><a href="class_bootloader.html#struct_bootloader_1_1_erase_option">Bootloader::EraseOption</a></div><div class="ttdoc">EraseOption struct contains information for an erase progress. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:79</div></div>
<div class="ttc" id="class_bootloader_html_a299608c3c0512aba8bc73c07bd9d0c85"><div class="ttname"><a href="class_bootloader.html#a299608c3c0512aba8bc73c07bd9d0c85">Bootloader::m_isExiting</a></div><div class="ttdeci">bool m_isExiting</div><div class="ttdoc">Flag is set to let child thread exit. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:200</div></div>
<div class="ttc" id="class_bootloader_html_a43a1807310a07b446d9f730f5572afab"><div class="ttname"><a href="class_bootloader.html#a43a1807310a07b446d9f730f5572afab">Bootloader::FlashFirmwareOption::useKeytoUnlock</a></div><div class="ttdeci">BOOL useKeytoUnlock</div><div class="ttdoc">Execute flash-security-disable to unlock the device. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:70</div></div>
<div class="ttc" id="class_bootloader_html_a5e85f010cbc797b92c613d73ce769648"><div class="ttname"><a href="class_bootloader.html#a5e85f010cbc797b92c613d73ce769648">Bootloader::TargetInformation::securityState</a></div><div class="ttdeci">UINT32 securityState</div><div class="ttdoc">Security state. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:52</div></div>
<div class="ttc" id="class_bootloader_html_a8037e3b401b7cfb870dffbf990022450"><div class="ttname"><a href="class_bootloader.html#a8037e3b401b7cfb870dffbf990022450">Bootloader::FlashFirmwareOption::doErasetoUnlock</a></div><div class="ttdeci">BOOL doErasetoUnlock</div><div class="ttdoc">Execute flash-erase-all-unsecure to unlock the device. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:69</div></div>
<div class="ttc" id="class_bootloader_html_a8c681d634a50ff767c6930ac58af35f3"><div class="ttname"><a href="class_bootloader.html#a8c681d634a50ff767c6930ac58af35f3">Bootloader::m_resetEvent</a></div><div class="ttdeci">HANDLE m_resetEvent</div><div class="ttdoc">Reset event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:190</div></div>
<div class="ttc" id="class_bootloader_html_afd1e8fbddcb4bf6b34e01561c463e3df"><div class="ttname"><a href="class_bootloader.html#afd1e8fbddcb4bf6b34e01561c463e3df">Bootloader::m_updater</a></div><div class="ttdeci">blfwkdll::Updater * m_updater</div><div class="ttdoc">Pointer to a blfwkdll::Updater. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:207</div></div>
<div class="ttc" id="class_bootloader_html_aafef0e47d402f958bcbe6838f48838ce"><div class="ttname"><a href="class_bootloader.html#aafef0e47d402f958bcbe6838f48838ce">Bootloader::m_targetInfo</a></div><div class="ttdeci">TargetInformation m_targetInfo</div><div class="ttdoc">Contains devices information. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:202</div></div>
<div class="ttc" id="class_bootloader_html_af87a527bf8b42fbb526f8a0b0d6659ee"><div class="ttname"><a href="class_bootloader.html#af87a527bf8b42fbb526f8a0b0d6659ee">Bootloader::m_updateEvent</a></div><div class="ttdeci">HANDLE m_updateEvent</div><div class="ttdoc">Update event. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:192</div></div>
<div class="ttc" id="class_bootloader_html_aed066c866e6476c7cc95ae9e00b5d86c"><div class="ttname"><a href="class_bootloader.html#aed066c866e6476c7cc95ae9e00b5d86c">Bootloader::m_isRunning</a></div><div class="ttdeci">bool m_isRunning</div><div class="ttdoc">Flag is set when there is an operation under processing. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:199</div></div>
<div class="ttc" id="class_bootloader_html_a5cda33a94e2a69b3299a5d9fa015f50e"><div class="ttname"><a href="class_bootloader.html#a5cda33a94e2a69b3299a5d9fa015f50e">Bootloader::m_programOnceOption</a></div><div class="ttdeci">ProgramOnceOption m_programOnceOption</div><div class="ttdoc">Contains information for a programming-IFR operation. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:205</div></div>
<div class="ttc" id="class_bootloader_html_a24f6db9423221fc5e419c97d4fb08cd8"><div class="ttname"><a href="class_bootloader.html#a24f6db9423221fc5e419c97d4fb08cd8">Bootloader::TargetInformation::procotolVersion</a></div><div class="ttdeci">UINT32 procotolVersion</div><div class="ttdoc">Serial procotol version. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:51</div></div>
<div class="ttc" id="class_bootloader_html_ac991c28688922be7df303e6ed4b92907"><div class="ttname"><a href="class_bootloader.html#ac991c28688922be7df303e6ed4b92907">Bootloader::m_eraseOption</a></div><div class="ttdeci">EraseOption m_eraseOption</div><div class="ttdoc">Contains information for an erase operation. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:204</div></div>
<div class="ttc" id="class_bootloader_html_a50ffe679128e14abdb12a0a6ae900414"><div class="ttname"><a href="class_bootloader.html#a50ffe679128e14abdb12a0a6ae900414">Bootloader::InitInstance</a></div><div class="ttdeci">virtual BOOL InitInstance()</div><div class="ttdoc">Overrides. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:110</div></div>
<div class="ttc" id="class_bootloader_html_acd69ec17995c8ddb245854e5a1077521"><div class="ttname"><a href="class_bootloader.html#acd69ec17995c8ddb245854e5a1077521">Bootloader::m_firmwareConfig</a></div><div class="ttdeci">FlashFirmwareOption m_firmwareConfig</div><div class="ttdoc">Contains information for a update operation. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:203</div></div>
<div class="ttc" id="class_bootloader_html_a78a767963a5f9466e40da32cd828fd2c"><div class="ttname"><a href="class_bootloader.html#a78a767963a5f9466e40da32cd828fd2c">Bootloader::m_abort</a></div><div class="ttdeci">bool m_abort</div><div class="ttdoc">Flag is set to abort the update progress. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:198</div></div>
<div class="ttc" id="class_bootloader_html_a32c8470a7d53f90032e0947fc5832a7f"><div class="ttname"><a href="class_bootloader.html#a32c8470a7d53f90032e0947fc5832a7f">Bootloader::ProgramOnceOption::index</a></div><div class="ttdeci">uint32_t index</div><div class="ttdoc">IFR index. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:99</div></div>
<div class="ttc" id="class_bootloader_html_struct_bootloader_1_1_target_information"><div class="ttname"><a href="class_bootloader.html#struct_bootloader_1_1_target_information">Bootloader::TargetInformation</a></div><div class="ttdoc">TargetInformation struct contains devices information. </div><div class="ttdef"><b>Definition:</b> apps/KinetisFlashTool/KinetisFlashTool/Bootloader.h:48</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_cb2b6c23fe97b832f25340ae9f48ab23.html">KinetisFlashTool</a></li><li class="navelem"><a class="el" href="dir_db970ff1c86be5545266de782c254ef5.html">KinetisFlashTool</a></li><li class="navelem"><b>Bootloader.h</b></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:49 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
